import request from '@/utils/request'

// 页面相关接口
export const pageApi = {
  // 创建页面
  create(data) {
    // 确保数据格式正确
    const pageData = {
      title: data.title,
      config: typeof data.config === 'string' ? data.config : JSON.stringify(data.config)
    }
    return request({
      url: '/pages',
      method: 'post',
      data: pageData
    })
  },

  // 更新页面
  update(id, data) {
    const pageData = {
      id,
      title: data.title,
      config: typeof data.config === 'string' ? data.config : JSON.stringify(data.config)
    }
    return request({
      url: `/pages/${id}`,
      method: 'put',
      data: pageData
    })
  },

  // 获取页面详情
  getById(id) {
    return request({
      url: `/pages/${id}`,
      method: 'get'
    }).then(data => {
      // 确保config是对象
      if (typeof data.config === 'string') {
        data.config = JSON.parse(data.config)
      }
      return data
    })
  },

  // 删除页面
  delete(id) {
    return request({
      url: `/pages/${id}`,
      method: 'delete'
    })
  },

  // 获取页面列表
  list(params) {
    return request({
      url: '/pages/list',
      method: 'get',
      params
    })
  }
} 